package com.qzdatasoft.ratelimit.po;

import lombok.*;

/**
 * 限流规则配置类
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class RateLimitRulePo {
    private String id;  // 规则配置ID
    private String dimension; // 规则维度,GLOBAL、IP、USER等
    private String urlPattern; // URL匹配模式
    private int ratePerSecond; // 每秒允许的请求数
    private int burstCapacity; // 突发容量
    private double compensationRate; // 超额补偿比例
    private int timeoutMillis; // 请求在漏桶中的超时时间毫秒
    @Builder.Default
    private boolean enabled=true; // 是否启用该规则
}